package cn.king.springframework.beans.factory.config;

import cn.king.springframework.beans.factory.HierarchicalBeanFactory;
import cn.king.springframework.util.StringValueResolver;

public interface ConfigurableBeanFactory extends HierarchicalBeanFactory,SingletonBeanRegistry {
    String SCOPE_SINGLETON = "singleton";

    String SCOPE_PROTOTYPE = "prototype";

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);

    /**
     * 销毁单例对象
     */
    void destroySingletons();

    /**
     * 添加字符串解析器
     * @param valueResolver
     */
    void addEmbeddedValueResolver(StringValueResolver valueResolver);

    /**
     * 解析字符@Value
     * @param value
     * @return
     */
    String resolveEmbeddedValue(String value);


}
